﻿using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace Shop.BSL.DataContract
{
    [DataContract(Namespace = "http://shop.hanoitown.com")]
    public class Product
    {
        // Properties
        [DataMember]
        public bool ActiveInd { get; set; }
        [DataMember]
        public string AdditionalInformation { get; set; }
        [DataMember]
        public bool AllowBackOrder { get; set; }
        [DataMember]
        public string BackOrderMsg { get; set; }
        [DataMember]
        public DateTime? BeginActiveDate { get; set; }
        [DataMember]
        public bool CallForPricing { get; set; }
        [DataMember]
        public List<int> CategoryIds { get; set; }
        [DataMember]
        public bool CategorySpecial { get; set; }
        [DataMember]
        public string Custom1 { get; set; }
        [DataMember]
        public string Custom2 { get; set; }
        [DataMember]
        public string Custom3 { get; set; }
        [DataMember]
        public string Description { get; set; }
        [DataMember]
        public int DisplayOrder { get; set; }
        [DataMember]
        public string DownloadLink { get; set; }
        [DataMember]
        public string DropShipEmailId { get; set; }
        [DataMember]
        public bool? DropShipInd { get; set; }
        [DataMember]
        public DateTime? EndActiveDate { get; set; }
        [DataMember]
        public bool FeaturedInd { get; set; }
        [DataMember]
        public string FeaturesDesc { get; set; }
        [DataMember]
        public bool FreeShippingInd { get; set; }
        [DataMember]
        public decimal Height { get; set; }
        [DataMember]
        public bool HomepageSpecial { get; set; }
        [DataMember]
        public string ImageAltTag { get; set; }
        [DataMember]
        public string ImageFile { get; set; }
        [DataMember]
        public string InStockMsg { get; set; }
        [DataMember]
        public byte InventoryDisplay { get; set; }
        [DataMember]
        public string Keywords { get; set; }
        [DataMember]
        public decimal Length { get; set; }
        [DataMember]
        public string LocaleCode { get; set; }
        [DataMember]
        public int? ManufacturerId { get; set; }
        [DataMember]
        public string MasterPage { get; set; }
        [DataMember]
        public int MaxQty { get; set; }
        [DataMember]
        public string Name { get; set; }
        [DataMember]
        public bool NewProductInd { get; set; }
        [DataMember]
        public string OutOfStockMsg { get; set; }
        [DataMember]
        public int PortalId { get; set; }
        [DataMember]
        public int ProductId { get; set; }
        [DataMember]
        public Inventory ProductInventory { get; set; }
        [DataMember]
        public string ProductNum { get; set; }
        [DataMember]
        public Pricing ProductPricing { get; set; }
        [DataMember]
        public int ProductTypeId { get; set; }
        [DataMember]
        public string RecurringBillingFrequency { get; set; }
        [DataMember]
        public bool RecurringBillingInd { get; set; }
        [DataMember]
        public decimal? RecurringBillingInitialAmount { get; set; }
        [DataMember]
        public bool RecurringBillingInstallmentInd { get; set; }
        [DataMember]
        public string RecurringBillingPeriod { get; set; }
        [DataMember]
        public int? RecurringBillingTotalCycles { get; set; }
        [DataMember]
        public int ReorderLevel { get; set; }
        [DataMember]
        public string SeoDescription { get; set; }
        [DataMember]
        public string SeoKeywords { get; set; }
        [DataMember]
        public string SeoTitle { get; set; }
        [DataMember]
        public string SeoUrl { get; set; }
        [DataMember]
        public int? ShippingRuleTypeId { get; set; }
        [DataMember]
        public bool ShipSeparately { get; set; }
        [DataMember]
        public string ShortDescription { get; set; }
        [DataMember]
        public string Sku { get; set; }
        [DataMember]
        public string Specifications { get; set; }
        [DataMember]
        public string StoreName { get; set; }
        [DataMember]
        public int? SupplierId { get; set; }
        [DataMember]
        public int? TaxClassId { get; set; }
        [DataMember]
        public bool TrackInventoryInd { get; set; }
        [DataMember]
        public decimal Weight { get; set; }
        [DataMember]
        public decimal Width { get; set; }

        public Product(){}
    }
}
